Wireless devices are configured to perform various functions including, for example, the ability to access large, complex networks like GSM (also called second generation or 2G networks), third (3G), fourth (4G) and envisioned fifth generation (5G) wireless networks. A software-defined radio (SDR) may be a wireless device (e.g., a 2G or 4G handset or base station) whose function is defined in software on a general purpose computer (GPC) (also called a general purpose processor (GPP)) and/or digital and analog radio hardware. Devices within contemporary 4G SDR networks may connect and transmit digital communications to computer-based consumer electronics (smart phones, tablet computers, etc.). Based on the communications, various functions may be performed including the execution of a command, an access of a database, the display of various types of information, and the like. Devices that are able to connect to a 4G SDR network (also referred to as 4G SDR devices and/or 4G SDR terminals) may incorporate processor elements (PE) such as a central processor unit (CPU) with an associated memory hierarchy of cache, random access memory (RAM), hard drive(s) and/or network storage. PE's may be organized into a system on chip (SoC) or network on chip (NoC) of many PEs and memories, such as a graphics processing unit (GPU). A GPU may incorporate one or more application-specific integrated circuit (ASIC) co-processors, such as a floating point unit, or may incorporate a reconfigurable co-processor such as a field programmable gate array (FPGA). Such 4G SDR terminals may incorporate general purpose computers that require an operating system (OS) such as Google Android, Microsoft Windows, Apple iOS, or Linux and may support various protocols and/or architectures such as the Internet Protocol (IP) or the Evolved Packet Core (EPC). Networks that rely on wireless technology may use, for example, backhaul point to point radio links for status reporting and a Policy and Charging Rules Function (PCRF) of a wireless service provider for control. Users of 4G SDR include many small, medium, large, and global enterprises including federal, state, and local governments.
Conventional 4G SDR devices may support and/or use various types of conventional computer technology in connection with performing its functions. For example, some 4G SDR functions may be supported by software programmed using computer programming languages such as assembly languages, C and C++, which are known in the art for computationally efficient software libraries offering basic capabilities (e.g., extending an OS). Other 4G SDR software packages can be created using other languages including higher level computer languages such as Python, FORTRAN, Java, PHP, and JavaScript and may include 4G SDR functions such as recording network transactions and facilitating user interface services (e.g., 4G SDR wireless services built on OS services). Some 4G SDR functions may use one or more virtual machines or some other type of virtualized technology or remote computing technology. A virtual machine such as the Java Virtual Machine (JVM) may facilitate the use of a language like Java on a variety of computers and embedded 4G SDR controllers having a variety of instruction set architectures (ISAs). Other virtual machines may comprise a sandbox within which software for one ISA may be interpreted on a CPU having another ISA. Web services on multiple associated virtual machines (termed “the cloud”) may be tailored via software tools (e.g. OpenStack) to provide 4G SDR services including control planes and databases that may be used to control one or more 4G SDR terminals. Some 4G SDR functions may use remote computing technology. For example, a military SDR terminal may incorporate no display per se, but may instead use the remote displays of a laptop or mobile consumer devices like smart phones (e.g. via a downloaded 4G SDR application via a wired or wireless commercial and military networks).
There are numerous news reports and technical papers on how malicious agents obtain fraudulent access to networks, escalate privileges, and then export data in huge quantities. 4G SDRs may facilitate such crimes. In view of the various types of conventional computer technology that a 4G SDR device uses in connection with performing its functions, the arrangement of computing hardware, OS, virtual machines, and software may be computationally inefficient. As one example, the arrangement may be inefficient because of the overhead involved with the pushing and popping of interrupt stacks in random access memory for software sharing one or more CPUs, virtual machines, and/or OS functions. Additionally, additional overhead may be incurred in connection with ensuring the cybersecurity of the 4G SDR device including, for example, scanning for malware and monitoring the contents of instruction registers for prohibited data and actions.
A public safety, corporate, or other proprietary system such as for shipping (e.g. Mersk lines), aircraft (e.g. Federal Express), robotic guard force (e.g. at a nuclear power plant), or ground vehicle (such as a UPS delivery truck) may incorporate networks of radios, some of a proprietary nature and others analogous to commercial 4G standard wireless networks, potentially incorporating commercial 4G SDR wireless base stations and user devices. Some such embedded computers may perform sensing (e.g. ship radar functions) while others perform Internet access while others perform control functions while others provide a user interface and while still others may provide wireless transmission, reception, control, and user interfaces simultaneously. Such computers embedded and otherwise housed aboard such mobile systems may be vulnerable to malware delivered by wireless networks, by uploads of software, e.g. during wireless network operations, via system configuration, or by files inserted on removable media such as a hard drive or USB stick. Related personal, military, and corporate information may include passwords to high level information networks or bank accounts made available on line by which fraudulent charges and other control actions may be made if the data is obtained by a thief, e.g. via malware such as a keystroke logger and related malicious wireless networking.
The vulnerability of a computing device to various cyber-attacks or malware may be due to the conventional architecture of a general computing device. General computing devices or machines have an arrangement of CPU registers, an instruction set architecture (ISA), and memory. Such general computing devices may be commonly referred to as Turing-equivalent (TE), and may be able to compute anything that is possible to envision. Many types of cybercrime exploit Turing-Equivalence. For example, by exploiting the vast degrees of freedom, uncontrolled states of registers and memory, and sequences of instructions (which may never terminate or return a result) that compose the OS, device drivers, software, and applications of a Turing-equivalent machine, various types of cybercrime may be performed. In other words, Turing-equivalence of shared CPU hardware, open ended nature of register sequences, layering of software, device drivers, and re-programmability of local and networked memory systems may provide vast, uncountable opportunities for malware to perform computing tasks that are not authorized and may result in, among other things, financial or physical damage. An attack surface enables a device to be compromised with malware and, once compromised, a device may be manipulated in various ways. For example, malware may manipulate a compromised device to execute an unintended program, may be manipulated to disclose stored information in an unauthorized manner, and/or may be manipulated in such a way as to commit a cybercrime on another, uncompromised, device. Such attack surfaces may enable the unauthorized disclosure and/or use of bank account, passwords, or military information to an unauthorized third party via a 4G SDR wireless network.
The register sequences of CPUs, PEs, and GPUs in various devices in a 4G SDR network can be manipulated by malware to include subsequences that violate the authorized behavior of programming executed by embedded computers and other devices connected via one or more wired or wireless networks. In addition, general purpose computers that perform various radio functions, such as an embedded controller, may incorporate an OS with various input output (IO) software that transfers data to and from non-computing hardware such as a radio transmitter (TX), a radio receiver (RX), a keyboard, display, printer, modem, camera, finger print reader, etc. Such IO software in a 4G SDR wireless or military system controller may be termed a device driver. 4G SDR terminals may be compromised by embedding malware into 4G SDR controllers.
The damage caused by a compromised device can vary in both its magnitude and its detectability. For example, the Stuxnet malware took control of centrifuges, operated the centrifuges out of specification and caused some to fail, but made system operation appear normal to the users of the centrifuges. One may envision comparable damage being accomplished by malware that compromises a 4G SDR terminal that connects to a 4G SDR network (e.g. using the 4G SDR network to steal air time and/or use the network without paying for it). Other damage may include receiving or transmitting data in an unauthorized way (including the use of bank account, passwords, or military information to an unauthorized third party via a 4G SDR wireless network, as mentioned above). A compromised embedded controller then may be used to commit various cybercrimes, such as the destruction of physical property (e.g. by overriding the control information exchanged wirelessly, but operating in such a way that the databases, networks, and users believe that the compromised devices are running properly and within limits). Conventional cybersecurity measures (e.g., hardware roots of trust, sandboxes, virtual machines, anti-virus, firewalls, and monitors) have been incapable of providing a permanent solution to such cybercrime.